#include <iostream>
#include <cstring>
using namespace std;

/*
	构造函数用途：用来初始化对象里面的数据
	如果程序员自定义构造函数(无论是否带参数)，那么系统就不会再自动生成默认的构造函数
*/

class Cat
{
public:
	//通过猫的构造函数来直接对猫的属性设置
	//我自己写了构造函数(带参数)--》因此系统不会再帮我生成默认的无参构造
	Cat(int _age)
	{
		age=_age;
		cout<<"猫的构造函数带参数被调用了"<<endl;
	}

private:
	int age;
};

int main(int argc,char **argv)
{
	//创建猫的对象
	Cat c1(5);
	//编译报错：没有无参构造函数
	Cat c2; //没有传递参数--》调用无参构造--》没有无参构造--》报错
	return 0;	
}